// var i;
// var $uI_VideoBuyOne_UIBindings = require("./UI_VideoBuyOne_UIBindings");
// var $uIView = require("./UIView");
// var $const_Game = require("./Const_Game");
// var $bundleConfig = require("./BundleConfig");
// var $aDManager = require("./ADManager");
// var $aIControl = require("./AIControl");
// var $gameGlobalVariable = require("./GameGlobalVariable");
// var $gameDataManager = require("./GameDataManager");
// var g = cc._decorator;
// var _ = g.ccclass;
// var y = g.property;
// var m = g.inspector;
// var v = (function (e) {
//     function t() {
//         var t = (null !== e && e.apply(this, arguments)) || this;
//         t.auto_ui = null;
//         return t;
//     }
//     __extends(t, e);
//     t.prototype._show = function (e) {
//         var t = this;
//         this.openData = e;
//         var o = this.auto_ui;
//         o.txt_titleLabel.string = e.titleStr;
//         o.txt_infoLabel.string = e.infoStr;
//         o.node_type.children[1].active = e.coinCount > 0;
//         o.node_type.children[2].active = 0 == e.coinCount;
//         if (e.coinCount > 0) {
//             this.auto_ui.txt_countLabel.string = "" + e.coinCount;
//         } else {
//             {
//                 this.auto_ui.node_type.children[2].destroyAllChildren();
//                 var n = 1;
//                 switch (e.pfbName) {
//                     case $const_Game.FruitPfbName.gezi:
//                     case $const_Game.FruitPfbName.heng2:
//                         n = 1;
//                         break;
//                     default:
//                         n = 0.5;
//                 }
//                 this.auto_ui.sp_furitIconSprite.node.scale = n;
//                 this._loadRes($bundleConfig.BundleNames.Game, "item/qiPao_" + e.pfbName, cc.Prefab).then(function (e) {
//                     var o = cc.instantiate(e);
//                     o.children[0].active = !0;
//                     t.auto_ui.node_type.children[2].addChild(o);
//                     t.auto_ui.node_type.children[2].scale = n;
//                     o.setPosition(0, 0);
//                 });
//                 this.auto_ui.sp_furitIconSprite.spriteFrame = null;
//                 if (e.furidSprite) {
//                     this.auto_ui.sp_furitIconSprite.spriteFrame = e.furidSprite;
//                 }
//             }
//         }
//         if ($aIControl.default._instance.isOpen) {
//             $aIControl.default._instance.ShowClickBtn(this.auto_ui.btn_clickBtn.node, function () {
//                 if (t.openData.clickCallBack) {
//                     t.openData.clickCallBack();
//                 }
//                 t._close();
//             });
//         }
//     };
//     t.prototype._clickListener = function (e) {
//         var t = this;
//         switch (e) {
//             case this.auto_ui.btn_closeBtn:
//                 if (this.openData.failCallBack) {
//                     this.openData.failCallBack();
//                 }
//                 this._close();
//                 break;
//             case this.auto_ui.btn_clickBtn:
//                 var o = this.openData.titleStr;
//                 if (1 == $gameGlobalVariable.GameGlobalVariable.isTeShuLevel()) {
//                     o = "无尽模式" + o;
//                 } else {
//                     {
//                         var n =
//                             $gameDataManager.GameDataMgr.getNowLevelBoshuState(
//                                 $gameGlobalVariable.GameGlobalVariable.nowlevel,
//                                 2
//                             ) + 1;
//                         o = $gameGlobalVariable.GameGlobalVariable.nowlevel + "章_" + n + "波_" + o;
//                     }
//                 }
//                 $aDManager.ADMgr.showRewardedVideo(o, function () {
//                     if (t.openData.clickCallBack) {
//                         t.openData.clickCallBack();
//                     }
//                     t._close();
//                 });
//         }
//     };
//     __decorate([y($uI_VideoBuyOne_UIBindings.default)], t.prototype, "auto_ui", void 0);
//     return __decorate([_], t);
// })($uIView.default);
// exports.default = v;


// import UI_VideoBuyOne_UIBindings from './UI_VideoBuyOne_UIBindings';
// import UIView from './UIView';
// import {BundleNames} from './BundleConfig';
// import {ADMgr} from './ADManager';
// import AIControl from './AIControl';
// import {GameGlobalVariable} from './GameGlobalVariable';
// import {GameDataMgr} from './GameDataManager';
// import { FruitPfbName } from './Const_Game';

// const { ccclass, property, inspector } = cc._decorator;

// @ccclass
// export default class UI_VideoBuyOne extends UIView {
//     /** UI 自动绑定的组件 */
//     @property(UI_VideoBuyOne_UIBindings)
//     auto_ui: UI_VideoBuyOne_UIBindings = null;

//     openData:any = null;
//     /**
//      * 显示界面并初始化所需数据
//      * @param e - 界面初始化数据
//      * 建议方法名: show
//      */
//     protected _show(e: any): void {
//         const openData = this.openData = e;
//         const auto_ui = this.auto_ui;

//         auto_ui.txt_titleLabel.string = e.titleStr;
//         auto_ui.txt_infoLabel.string = e.infoStr;
//         auto_ui.node_type.children[1].active = e.coinCount > 0;
//         auto_ui.node_type.children[2].active = e.coinCount === 0;

//         if (e.coinCount > 0) {
//             auto_ui.txt_countLabel.string = `${e.coinCount}`;
//         } else {
//             auto_ui.node_type.children[2].destroyAllChildren();
//             let scale = 1;
//             switch (e.pfbName) {
//                 case FruitPfbName.gezi:
//                 case FruitPfbName.heng2:
//                     scale = 1;
//                     break;
//                 default:
//                     scale = 0.5;
//             }
//             auto_ui.sp_furitIconSprite.node.scale = scale;
//             this._loadRes(BundleNames.Game, `item/qiPao_${e.pfbName}`, cc.Prefab)
//                 .then((prefab: cc.Prefab) => {
//                     const instance = cc.instantiate(prefab);
//                     instance.children[0].active = true;
//                     auto_ui.node_type.children[2].addChild(instance);
//                     auto_ui.node_type.children[2].scale = scale;
//                     instance.setPosition(0, 0);
//                 });

//             auto_ui.sp_furitIconSprite.spriteFrame = e.furidSprite || null;
//         }

//         if (AIControl._instance.isOpen) {
//             AIControl._instance.ShowClickBtn(auto_ui.btn_clickBtn.node, () => {
//                 if (openData.clickCallBack) {
//                     openData.clickCallBack();
//                 }
//                 this._close();
//             });
//         }
//     }

//     /**
//      * 点击事件监听器
//      * @param target - 触发点击事件的目标节点
//      * 建议方法名: clickListener
//      */
//     protected _clickListener(target: cc.Button): void {
//         switch (target) {
//             case this.auto_ui.btn_closeBtn:
//                 if (this.openData.failCallBack) {
//                     this.openData.failCallBack();
//                 }
//                 this._close();
//                 break;
//             case this.auto_ui.btn_clickBtn:
//                 let title = this.openData.titleStr;
//                 const globalVar = GameGlobalVariable;

//                 if (globalVar.isTeShuLevel() === 1) {
//                     title = `无尽模式${title}`;
//                 } else {
//                     const wave = GameDataMgr.getNowLevelBoshuState(globalVar.nowlevel, 2) + 1;
//                     title = `${globalVar.nowlevel}章_${wave}波_${title}`;
//                 }

//                 ADMgr.showRewardedVideo(title, () => {
//                     if (this.openData.clickCallBack) {
//                         this.openData.clickCallBack();
//                     }
//                     this._close();
//                 });
//                 break;
//         }
//     }
// }

import UIVideoBuyOneUIBindings from './UI_VideoBuyOne_UIBindings';
import UIViewBase from './UIView';
import { BundleNames } from './BundleConfig';
import { ADMgr } from './ADManager';
import AICtrl from './AIControl';
import { GameGlobalVariable } from './GameGlobalVariable';
import { GameDataMgr } from './GameDataManager';
import { FruitPrefabName } from './Const_Game';

const { ccclass, property, inspector } = cc._decorator;

/** 建议类名: VideoPurchaseUI */
@ccclass
export default class ViewVideoBuyOne extends UIViewBase {
    /** UI 自动绑定的组件 */
    @property(UIVideoBuyOneUIBindings)
    auto_ui: UIVideoBuyOneUIBindings = null;

    private openData: any = null;

    /**
     * 显示界面并初始化所需数据
     * @param e - 界面初始化数据
     * 建议方法名: show
     */
    protected _show(e: any): void {
        // 初始化界面数据
        this.openData = e;
        const { txt_titleLabel, txt_infoLabel, node_type, txt_countLabel, sp_furitIconSprite, btn_clickBtn } = this.auto_ui;
        
        // 设置标题和信息文本
        txt_titleLabel.string = e.titleStr;
        txt_infoLabel.string = e.infoStr;
        
        // 根据 coinCount 的值控制不同节点的显隐
        node_type.children[1].active = e.coinCount > 0;
        node_type.children[2].active = e.coinCount === 0;

        if (e.coinCount > 0) {
            txt_countLabel.string = `${e.coinCount}`;
        } else {
            node_type.children[2].destroyAllChildren();
            sp_furitIconSprite.node.scale = (e.pfbName === FruitPrefabName.gezi || e.pfbName === FruitPrefabName.heng2) ? 1 : 0.5;
            this._loadRes(BundleNames.Game, `item/qiPao_${e.pfbName}`, cc.Prefab).then((prefab: cc.Prefab) => {
                const instance = cc.instantiate(prefab);
                instance.children[0].active = true;
                node_type.children[2].addChild(instance);
                node_type.children[2].scale = sp_furitIconSprite.node.scale;
                instance.setPosition(0, 0);
            });
            sp_furitIconSprite.spriteFrame = e.furidSprite || null;
        }

        // 如果 AIControl 是打开状态，绑定点击事件
        if (AICtrl._instance.isOpen) {
            AICtrl._instance.displayClickButton(btn_clickBtn.node, () => {
                if (this.openData.clickCallBack) {
                    this.openData.clickCallBack();
                }
                this._close();
            });
        }
    }

    /**
     * 点击事件监听器
     * @param target - 触发点击事件的目标节点
     * 建议方法名: clickListener
     */
    protected _clickListener(target: cc.Button): void {
        const { btn_closeBtn, btn_clickBtn } = this.auto_ui;
        switch (target) {
            case btn_closeBtn:
                if (this.openData.failCallBack) {
                    this.openData.failCallBack();
                }
                this._close();
                break;

            case btn_clickBtn:
                let title = this.openData.titleStr;
                const globalVar = GameGlobalVariable;

                if (globalVar.isSpecialLevel() === 1) {
                    title = `无尽模式${title}`;
                } else {
                    const wave = GameDataMgr.getCurrentLevelWaveState(globalVar.nowlevel, 2) + 1;
                    title = `${globalVar.nowlevel}章_${wave}波_${title}`;
                }

                ADMgr.showRewardedVideoAd(title, () => {
                    if (this.openData.clickCallBack) {
                        this.openData.clickCallBack();
                    }
                    this._close();
                });
                break;
        }
    }
}